Open Science
(Recherche reproductible)

François Guilhaumon

IRD Marbec - La Réunion

Novembre 2021


C’est quoi ?

Un exemple

Galileo Galilei, par Peter Paul Rubens (circa 1630)
Crédits : Wikimedia Commons

Un exemple

Mosaïque de Jupiter en vraies couleurs réalisée à partir de photographies prises par la sonde Cassini le 29 décembre 2000 à 5 h 30 UTC.
Crédits : Wikimedia Commons

Un exemple

Les quatre satellites galiléens : Io, Europe, Ganymède et Callisto.
Crédits : Wikimedia Commons

Un exemple

Figure 1. Two pages (scan) from Galilei’s Sidereus Nuncius (“The Starry Messenger” or “The Herald of the Stars”), Venice, 1610.

Crédits : Goodman et al. (2014) PLoS Comput Biol 10(4): e1003542. doi:10.1371/journal.pcbi.1003542

Un exemple



Les notes de Galilée intègrent :

  • Données (dessins)

  • Méta-données (date, météo, carac. lunette)

  • Texte (description des méthodes, analyses et conclusions)

Recherche reproductible




Données + Méta-données + Matériel & Méthodes

Pourquoi ?

Comment ?

Recherche reproductible


Depuis Galilée le concept a un peu évolué…

Recherche reproductible


Un article publié n’est que le sommet de l’iceberg que représente le processus de recherche.


“An article about computational results is advertising, not scholarship. The actual scholarship is the full software environment, code and data, that produced the result.”

Claerbout & Karrenbach 1992. http://sepwww.stanford.edu/doku.php?id=sep:research:reproducible:seg92

“[…] reproducible computational research is to expose more of the research workflow to our audience.”

https://ropensci.github.io/reproducibility-guide/sections/introduction/

Recherche reproductible


  • Data Management: saving both raw and intermediate forms; documenting all steps; creating tidy data amenable to analysis.
  • Software: writing, organizing, and sharing scripts and programs used in an analysis.
  • Tracking Changes: recording how various components of your project change over time.
  • Collaboration: making it easy for existing and new collaborators to understand and contribute to a project.
  • Project Organization: organizing the digital artifacts of a project to ease discovery and understanding.
  • Manuscripts: writing manuscripts in a way that leaves an audit trail and minimizes manual merging of conflict.

Wilson et al. 2016. Plos Comp Biol. https://arxiv.org/pdf/1609.00037.pdf

Data Management


Saving both raw and intermediate forms; documenting all steps; creating tidy data amenable to analysis.

Data Management


  • Sauvegarder les données initiales en l’état.


  • Les mettre en lecture seule si possible.


  • Scripter l’acquisition des données au maximum (API), surtout si elles sont volumineuses.


  • Toute transformation sera scriptée, cela devient un résultat.


  • Générer les données que vous voudriez recevoir (tidy)

Software


Writing, organizing, and sharing scripts and programs used in an analysis.

Software

Le code, les scripts


  • Peut importe la convention adoptée, rester constant !


  • Chemins relatifs ! Toujours !


  • Pas d’espaces, d’accents dans les noms !


  • Commenter/documenter (les fonctions, les scripts)

Software

L’environnement logiciel.


  • Les packages (version) : renv


  • Quid des bibliothèques système, de la version de R, de la version de l’OS ?


Software

Le “workflow” (enchainement des scripts, des logiciels).

D’une manière générale, automatiser au maximum

  • Par ex. makefile en R / shell, pipeline toolkits (targets)

Tracking Changes


Recording how various components of your project change over time.

Tracking Changes

Utiliser un logiciel de gestion de versions (git).

Collaboration

Making it easy for existing and new collaborators to understand and contribute to a project.

Collaboration


  • conventions de code


  • documentaiton de l’archive de recherche (README, License, Code de contribution)


  • Plateforme de collaboration en ligne (qui intègre git !) : GitHub, GitLab

Project Organization


Organizing the digital artifacts of a project to ease discovery and understanding.

Project Organization


Project Organization


  • Research compendium : organisation du répertoire de travail


  • Pipeline toolkit (targets) : gère les dépendances entre données, scripts et résultats

Manuscripts


Writing manuscripts in a way that leaves an audit trail and minimizes manual merging of conflict.

Manuscripts


Utiliser la programmation lettrée (literate programming)


au lieu de considérer que notre tâche principale est de dire à un ordinateur ce qu’il doit faire, appliquons-nous plutôt à expliquer à des êtres humains ce que nous voulons que l’ordinateur fasse.

Donald Knuth, années 70

Manuscripts

Rmarkdown (https://rmarkdown.rstudio.com/)

Manuscripts



Comment ça marche Rmarkdown ?

En markdown le texte est formaté avec des balises très simples (* _ #)

Manuscripts

Formats d’export de Rmarkdown (Pandoc)

On y va ?